/**
 * Beschreiben Sie hier die Klasse Buchung.
 * 
 * @author christoph.stueber@mes-alsfeld.de
 * @version Schuljahr 2013/2014 erstellt 15.03.2014 geändert 19.03.2014
 */
public class Buchung
{
    /** */
    private Datum von;

    /** */
    private Datum bis;

    /** */
    private Auftrag einAuftrag;

    /** */
    private Baumaschine eineBaumaschine;

    /** */
    private Buchung naechste;

    /**
     * Konstruktor für Objekte der Klasse Buchung.
     * 
     * @param a Auftrag
     * @param bm Baumaschine
     * @param von Datum
     * @param bis Datum
     * @param b Buchung
     */
    public Buchung(Auftrag a, Baumaschine bm, Datum von, Datum bis, Buchung b)
    {
	this.einAuftrag = a;
	this.eineBaumaschine = bm;
	this.von = von;
	this.bis = bis;
	this.naechste = b;
	einAuftrag.hinzufuegenBuchung(this);
    }

    /**
     * Akzessor für von.
     * 
     * @return Datum
     */
    public Datum getVonDatum()
    {
	return von;
    }

    /**
     * Akzessor für bis.
     * 
     * @return Datum
     */
    public Datum getBisDatum()
    {
	return bis;
    }

    /**
     * Akzessor für naechste
     * 
     * @return Buchung
     */
    public Buchung getNaechste()
    {
	return naechste;
    }

    /**
     * Mutator für naechste.
     * 
     * @param b
     */
    public void setNaechste(Buchung b)
    {
	naechste = b;
    }

    /**
     * toString-Methode
     */
    public String toString()
    {
	StringBuilder sb = new StringBuilder();
	// sb.append(einAuftrag.toString()).append("\n");
	sb.append(eineBaumaschine.getBezeichnung());
	sb.append(" ");
	sb.append(eineBaumaschine.getTyp().getBezeichnung());
	sb.append("  gebucht :");
	sb.append(von.toString());
	sb.append(" - ");
	sb.append(bis.toString());
	return sb.toString();
    }

    /**
     * @return the eineBaumaschine
     */
    public Baumaschine getEineBaumaschine()
    {
	return eineBaumaschine;
    }

    /**
     * @param eineBaumaschine the eineBaumaschine to set
     */
    public void setEineBaumaschine(Baumaschine eineBaumaschine)
    {
	this.eineBaumaschine = eineBaumaschine;
    }

}
